package com.nlgc365.designpattern.Chapter04_Pattern.Behavior.P08_Snapshot.Issues;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Application {
    public static void main(String[] args) {
        // 创建容器, 用于存储输入的字符串
        List<String> container = new ArrayList<>();

        //接收控制台输入
        Scanner scanner = new Scanner(System.in);
        while (true) {
            String input = scanner.nextLine();
            // 判断输入是否为冒号开头
            if (input == null || input.trim().equals("")) {
                continue;
            } else if ((input = input.trim()) != null && input.equals(":list")) {
                // 是, 1, 为list, 那么展示所有的字符串
                for (String word : container) {
                    System.out.print(word);
                }
                System.out.println("\n");
            } else if (input.equals(":undo")) {
                // 是, 2, 为undo, 那么撤销一次输入
                int size = container.size();
                if (size == 0) {
                    continue;
                } else {
                    container.remove(size - 1);
                }
            } else {
                // 否, 加入到容器中一个元素
                container.add(input);
            }
        }
    }
}
